home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / os2 / octa209s.zip / octave-2.09 / libcruft / misc / i1mach.f < prev    next >
Text File  |  1994-12-14  |  16KB  |  529 lines

  1.       INTEGER FUNCTION I1MACH(I)
  2. C
  3. C  I/O UNIT NUMBERS.
  4. C
  5. C    I1MACH( 1) = THE STANDARD INPUT UNIT.
  6. C
  7. C    I1MACH( 2) = THE STANDARD OUTPUT UNIT.
  8. C
  9. C    I1MACH( 3) = THE STANDARD PUNCH UNIT.
  10. C
  11. C    I1MACH( 4) = THE STANDARD ERROR MESSAGE UNIT.
  12. C
  13. C  WORDS.
  14. C
  15. C    I1MACH( 5) = THE NUMBER OF BITS PER INTEGER STORAGE UNIT.
  16. C
  17. C    I1MACH( 6) = THE NUMBER OF CHARACTERS PER CHARACTER STORAGE UNIT.
  18. C                 FOR FORTRAN 77, THIS IS ALWAYS 1.  FOR FORTRAN 66,
  19. C                 CHARACTER STORAGE UNIT = INTEGER STORAGE UNIT.
  20. C
  21. C  INTEGERS.
  22. C
  23. C    ASSUME INTEGERS ARE REPRESENTED IN THE S-DIGIT, BASE-A FORM
  24. C
  25. C               SIGN ( X(S-1)*A**(S-1) + ... + X(1)*A + X(0) )
  26. C
  27. C               WHERE 0 .LE. X(I) .LT. A FOR I=0,...,S-1.
  28. C
  29. C    I1MACH( 7) = A, THE BASE.
  30. C
  31. C    I1MACH( 8) = S, THE NUMBER OF BASE-A DIGITS.
  32. C
  33. C    I1MACH( 9) = A**S - 1, THE LARGEST MAGNITUDE.
  34. C
  35. C  FLOATING-POINT NUMBERS.
  36. C
  37. C    ASSUME FLOATING-POINT NUMBERS ARE REPRESENTED IN THE T-DIGIT,
  38. C    BASE-B FORM
  39. C
  40. C               SIGN (B**E)*( (X(1)/B) + ... + (X(T)/B**T) )
  41. C
  42. C               WHERE 0 .LE. X(I) .LT. B FOR I=1,...,T,
  43. C               0 .LT. X(1), AND EMIN .LE. E .LE. EMAX.
  44. C
  45. C    I1MACH(10) = B, THE BASE.
  46. C
  47. C  SINGLE-PRECISION
  48. C
  49. C    I1MACH(11) = T, THE NUMBER OF BASE-B DIGITS.
  50. C
  51. C    I1MACH(12) = EMIN, THE SMALLEST EXPONENT E.
  52. C
  53. C    I1MACH(13) = EMAX, THE LARGEST EXPONENT E.
  54. C
  55. C  DOUBLE-PRECISION
  56. C
  57. C    I1MACH(14) = T, THE NUMBER OF BASE-B DIGITS.
  58. C
  59. C    I1MACH(15) = EMIN, THE SMALLEST EXPONENT E.
  60. C
  61. C    I1MACH(16) = EMAX, THE LARGEST EXPONENT E.
  62. C
  63. C  TO ALTER THIS FUNCTION FOR A PARTICULAR ENVIRONMENT,
  64. C  THE DESIRED SET OF DATA STATEMENTS SHOULD BE ACTIVATED BY
  65. C  REMOVING THE C FROM COLUMN 1.  ALSO, THE VALUES OF
  66. C  I1MACH(1) - I1MACH(4) SHOULD BE CHECKED FOR CONSISTENCY
  67. C  WITH THE LOCAL OPERATING SYSTEM.  FOR FORTRAN 77, YOU MAY WISH
  68. C  TO ADJUST THE DATA STATEMENT SO IMACH(6) IS SET TO 1, AND
  69. C  THEN TO COMMENT OUT THE EXECUTABLE TEST ON I .EQ. 6 BELOW.
  70. C  ON RARE MACHINES A STATIC STATEMENT MAY NEED TO BE ADDED.
  71. C  (BUT PROBABLY MORE SYSTEMS PROHIBIT IT THAN REQUIRE IT.)
  72. C
  73. C  FOR IEEE-ARITHMETIC MACHINES (BINARY STANDARD), THE FIRST
  74. C  SET OF CONSTANTS BELOW SHOULD BE APPROPRIATE, EXCEPT PERHAPS
  75. C  FOR IMACH(1) - IMACH(4).
  76. C
  77.       INTEGER IMACH(16),OUTPUT,SANITY
  78. C
  79.       EQUIVALENCE (IMACH(4),OUTPUT)
  80. C
  81. C     MACHINE CONSTANTS FOR IEEE ARITHMETIC MACHINES, SUCH AS THE AT&T
  82. C     3B SERIES, MOTOROLA 68000 BASED MACHINES (E.G. SUN 3 AND AT&T
  83. C     PC 7300), AND 8087 BASED MICROS (E.G. IBM PC AND AT&T 6300).
  84. C
  85. C      DATA IMACH( 1) /    5 /
  86. C      DATA IMACH( 2) /    6 /
  87. C      DATA IMACH( 3) /    7 /
  88. C      DATA IMACH( 4) /    6 /
  89. C      DATA IMACH( 5) /   32 /
  90. C      DATA IMACH( 6) /    4 /
  91. C      DATA IMACH( 7) /    2 /
  92. C      DATA IMACH( 8) /   31 /
  93. C      DATA IMACH( 9) / 2147483647 /
  94. C      DATA IMACH(10) /    2 /
  95. C      DATA IMACH(11) /   24 /
  96. C      DATA IMACH(12) / -125 /
  97. C      DATA IMACH(13) /  128 /
  98. C      DATA IMACH(14) /   53 /
  99. C      DATA IMACH(15) / -1021 /
  100. C      DATA IMACH(16) /  1024 /, SANITY/987/
  101. C
  102. C     MACHINE CONSTANTS FOR AMDAHL MACHINES.
  103. C
  104. C      DATA IMACH( 1) /   5 /
  105. C      DATA IMACH( 2) /   6 /
  106. C      DATA IMACH( 3) /   7 /
  107. C      DATA IMACH( 4) /   6 /
  108. C      DATA IMACH( 5) /  32 /
  109. C      DATA IMACH( 6) /   4 /
  110. C      DATA IMACH( 7) /   2 /
  111. C      DATA IMACH( 8) /  31 /
  112. C      DATA IMACH( 9) / 2147483647 /
  113. C      DATA IMACH(10) /  16 /
  114. C      DATA IMACH(11) /   6 /
  115. C      DATA IMACH(12) / -64 /
  116. C      DATA IMACH(13) /  63 /
  117. C      DATA IMACH(14) /  14 /
  118. C      DATA IMACH(15) / -64 /
  119. C      DATA IMACH(16) /  63 /, SANITY/987/
  120. C
  121. C     MACHINE CONSTANTS FOR THE BURROUGHS 1700 SYSTEM.
  122. C
  123. C      DATA IMACH( 1) /    7 /
  124. C      DATA IMACH( 2) /    2 /
  125. C      DATA IMACH( 3) /    2 /
  126. C      DATA IMACH( 4) /    2 /
  127. C      DATA IMACH( 5) /   36 /
  128. C      DATA IMACH( 6) /    4 /
  129. C      DATA IMACH( 7) /    2 /
  130. C      DATA IMACH( 8) /   33 /
  131. C      DATA IMACH( 9) / Z1FFFFFFFF /
  132. C      DATA IMACH(10) /    2 /
  133. C      DATA IMACH(11) /   24 /
  134. C      DATA IMACH(12) / -256 /
  135. C      DATA IMACH(13) /  255 /
  136. C      DATA IMACH(14) /   60 /
  137. C      DATA IMACH(15) / -256 /
  138. C      DATA IMACH(16) /  255 /, SANITY/987/
  139. C
  140. C     MACHINE CONSTANTS FOR THE BURROUGHS 5700 SYSTEM.
  141. C
  142. C      DATA IMACH( 1) /   5 /
  143. C      DATA IMACH( 2) /   6 /
  144. C      DATA IMACH( 3) /   7 /
  145. C      DATA IMACH( 4) /   6 /
  146. C      DATA IMACH( 5) /  48 /
  147. C      DATA IMACH( 6) /   6 /
  148. C      DATA IMACH( 7) /   2 /
  149. C      DATA IMACH( 8) /  39 /
  150. C      DATA IMACH( 9) / O0007777777777777 /
  151. C      DATA IMACH(10) /   8 /
  152. C      DATA IMACH(11) /  13 /
  153. C      DATA IMACH(12) / -50 /
  154. C      DATA IMACH(13) /  76 /
  155. C      DATA IMACH(14) /  26 /
  156. C      DATA IMACH(15) / -50 /
  157. C      DATA IMACH(16) /  76 /, SANITY/987/
  158. C
  159. C     MACHINE CONSTANTS FOR THE BURROUGHS 6700/7700 SYSTEMS.
  160. C
  161. C      DATA IMACH( 1) /   5 /
  162. C      DATA IMACH( 2) /   6 /
  163. C      DATA IMACH( 3) /   7 /
  164. C      DATA IMACH( 4) /   6 /
  165. C      DATA IMACH( 5) /  48 /
  166. C      DATA IMACH( 6) /   6 /
  167. C      DATA IMACH( 7) /   2 /
  168. C      DATA IMACH( 8) /  39 /
  169. C      DATA IMACH( 9) / O0007777777777777 /
  170. C      DATA IMACH(10) /   8 /
  171. C      DATA IMACH(11) /  13 /
  172. C      DATA IMACH(12) / -50 /
  173. C      DATA IMACH(13) /  76 /
  174. C      DATA IMACH(14) /  26 /
  175. C      DATA IMACH(15) / -32754 /
  176. C      DATA IMACH(16) /  32780 /, SANITY/987/
  177. C
  178. C     MACHINE CONSTANTS FOR FTN4 ON THE CDC 6000/7000 SERIES.
  179. C
  180. C      DATA IMACH( 1) /    5 /
  181. C      DATA IMACH( 2) /    6 /
  182. C      DATA IMACH( 3) /    7 /
  183. C      DATA IMACH( 4) /    6 /
  184. C      DATA IMACH( 5) /   60 /
  185. C      DATA IMACH( 6) /   10 /
  186. C      DATA IMACH( 7) /    2 /
  187. C      DATA IMACH( 8) /   48 /
  188. C      DATA IMACH( 9) / 00007777777777777777B /
  189. C      DATA IMACH(10) /    2 /
  190. C      DATA IMACH(11) /   47 /
  191. C      DATA IMACH(12) / -929 /
  192. C      DATA IMACH(13) / 1070 /
  193. C      DATA IMACH(14) /   94 /
  194. C      DATA IMACH(15) / -929 /
  195. C      DATA IMACH(16) / 1069 /, SANITY/987/
  196. C
  197. C     MACHINE CONSTANTS FOR FTN5 ON THE CDC 6000/7000 SERIES.
  198. C
  199. C      DATA IMACH( 1) /    5 /
  200. C      DATA IMACH( 2) /    6 /
  201. C      DATA IMACH( 3) /    7 /
  202. C      DATA IMACH( 4) /    6 /
  203. C      DATA IMACH( 5) /   60 /
  204. C      DATA IMACH( 6) /   10 /
  205. C      DATA IMACH( 7) /    2 /
  206. C      DATA IMACH( 8) /   48 /
  207. C      DATA IMACH( 9) / O"00007777777777777777" /
  208. C      DATA IMACH(10) /    2 /
  209. C      DATA IMACH(11) /   47 /
  210. C      DATA IMACH(12) / -929 /
  211. C      DATA IMACH(13) / 1070 /
  212. C      DATA IMACH(14) /   94 /
  213. C      DATA IMACH(15) / -929 /
  214. C      DATA IMACH(16) / 1069 /, SANITY/987/
  215. C
  216. C     MACHINE CONSTANTS FOR CONVEX C-1.
  217. C
  218. C      DATA IMACH( 1) /    5 /
  219. C      DATA IMACH( 2) /    6 /
  220. C      DATA IMACH( 3) /    7 /
  221. C      DATA IMACH( 4) /    6 /
  222. C      DATA IMACH( 5) /   32 /
  223. C      DATA IMACH( 6) /    4 /
  224. C      DATA IMACH( 7) /    2 /
  225. C      DATA IMACH( 8) /   31 /
  226. C      DATA IMACH( 9) / 2147483647 /
  227. C      DATA IMACH(10) /    2 /
  228. C      DATA IMACH(11) /   24 /
  229. C      DATA IMACH(12) / -128 /
  230. C      DATA IMACH(13) /  127 /
  231. C      DATA IMACH(14) /   53 /
  232. C      DATA IMACH(15) /-1024 /
  233. C      DATA IMACH(16) / 1023 /, SANITY/987/
  234. C
  235. C     MACHINE CONSTANTS FOR THE CRAY 1, XMP, 2, AND 3.
  236. C
  237. C      DATA IMACH( 1) /     5 /
  238. C      DATA IMACH( 2) /     6 /
  239. C      DATA IMACH( 3) /   102 /
  240. C      DATA IMACH( 4) /     6 /
  241. C      DATA IMACH( 5) /    64 /
  242. C      DATA IMACH( 6) /     8 /
  243. C      DATA IMACH( 7) /     2 /
  244. C      DATA IMACH( 8) /    63 /
  245. C      DATA IMACH( 9) /  777777777777777777777B /
  246. C      DATA IMACH(10) /     2 /
  247. C      DATA IMACH(11) /    47 /
  248. C      DATA IMACH(12) / -8189 /
  249. C      DATA IMACH(13) /  8190 /
  250. C      DATA IMACH(14) /    94 /
  251. C      DATA IMACH(15) / -8099 /
  252. C      DATA IMACH(16) /  8190 /, SANITY/987/
  253. C
  254. C     MACHINE CONSTANTS FOR THE DATA GENERAL ECLIPSE S/200.
  255. C
  256. C      DATA IMACH( 1) /   11 /
  257. C      DATA IMACH( 2) /   12 /
  258. C      DATA IMACH( 3) /    8 /
  259. C      DATA IMACH( 4) /   10 /
  260. C      DATA IMACH( 5) /   16 /
  261. C      DATA IMACH( 6) /    2 /
  262. C      DATA IMACH( 7) /    2 /
  263. C      DATA IMACH( 8) /   15 /
  264. C      DATA IMACH( 9) /32767 /
  265. C      DATA IMACH(10) /   16 /
  266. C      DATA IMACH(11) /    6 /
  267. C      DATA IMACH(12) /  -64 /
  268. C      DATA IMACH(13) /   63 /
  269. C      DATA IMACH(14) /   14 /
  270. C      DATA IMACH(15) /  -64 /
  271. C      DATA IMACH(16) /   63 /, SANITY/987/
  272. C
  273. C     MACHINE CONSTANTS FOR THE HARRIS SLASH 6 AND SLASH 7.
  274. C
  275. C      DATA IMACH( 1) /       5 /
  276. C      DATA IMACH( 2) /       6 /
  277. C      DATA IMACH( 3) /       0 /
  278. C      DATA IMACH( 4) /       6 /
  279. C      DATA IMACH( 5) /      24 /
  280. C      DATA IMACH( 6) /       3 /
  281. C      DATA IMACH( 7) /       2 /
  282. C      DATA IMACH( 8) /      23 /
  283. C      DATA IMACH( 9) / 8388607 /
  284. C      DATA IMACH(10) /       2 /
  285. C      DATA IMACH(11) /      23 /
  286. C      DATA IMACH(12) /    -127 /
  287. C      DATA IMACH(13) /     127 /
  288. C      DATA IMACH(14) /      38 /
  289. C      DATA IMACH(15) /    -127 /
  290. C      DATA IMACH(16) /     127 /, SANITY/987/
  291. C
  292. C     MACHINE CONSTANTS FOR THE HONEYWELL DPS 8/70 SERIES.
  293. C
  294. C      DATA IMACH( 1) /    5 /
  295. C      DATA IMACH( 2) /    6 /
  296. C      DATA IMACH( 3) /   43 /
  297. C      DATA IMACH( 4) /    6 /
  298. C      DATA IMACH( 5) /   36 /
  299. C      DATA IMACH( 6) /    4 /
  300. C      DATA IMACH( 7) /    2 /
  301. C      DATA IMACH( 8) /   35 /
  302. C      DATA IMACH( 9) / O377777777777 /
  303. C      DATA IMACH(10) /    2 /
  304. C      DATA IMACH(11) /   27 /
  305. C      DATA IMACH(12) / -127 /
  306. C      DATA IMACH(13) /  127 /
  307. C      DATA IMACH(14) /   63 /
  308. C      DATA IMACH(15) / -127 /
  309. C      DATA IMACH(16) /  127 /, SANITY/987/
  310. C
  311. C     MACHINE CONSTANTS FOR THE IBM 360/370 SERIES,
  312. C     THE XEROX SIGMA 5/7/9 AND THE SEL SYSTEMS 85/86.
  313. C
  314. C      DATA IMACH( 1) /   5 /
  315. C      DATA IMACH( 2) /   6 /
  316. C      DATA IMACH( 3) /   7 /
  317. C      DATA IMACH( 4) /   6 /
  318. C      DATA IMACH( 5) /  32 /
  319. C      DATA IMACH( 6) /   4 /
  320. C      DATA IMACH( 7) /   2 /
  321. C      DATA IMACH( 8) /  31 /
  322. C      DATA IMACH( 9) / Z7FFFFFFF /
  323. C      DATA IMACH(10) /  16 /
  324. C      DATA IMACH(11) /   6 /
  325. C      DATA IMACH(12) / -64 /
  326. C      DATA IMACH(13) /  63 /
  327. C      DATA IMACH(14) /  14 /
  328. C      DATA IMACH(15) / -64 /
  329. C      DATA IMACH(16) /  63 /, SANITY/987/
  330. C
  331. C     MACHINE CONSTANTS FOR THE INTERDATA 8/32
  332. C     WITH THE UNIX SYSTEM FORTRAN 77 COMPILER.
  333. C
  334. C     FOR THE INTERDATA FORTRAN VII COMPILER REPLACE
  335. C     THE Z'S SPECIFYING HEX CONSTANTS WITH Y'S.
  336. C
  337. C      DATA IMACH( 1) /   5 /
  338. C      DATA IMACH( 2) /   6 /
  339. C      DATA IMACH( 3) /   6 /
  340. C      DATA IMACH( 4) /   6 /
  341. C      DATA IMACH( 5) /  32 /
  342. C      DATA IMACH( 6) /   4 /
  343. C      DATA IMACH( 7) /   2 /
  344. C      DATA IMACH( 8) /  31 /
  345. C      DATA IMACH( 9) / Z'7FFFFFFF' /
  346. C      DATA IMACH(10) /  16 /
  347. C      DATA IMACH(11) /   6 /
  348. C      DATA IMACH(12) / -64 /
  349. C      DATA IMACH(13) /  62 /
  350. C      DATA IMACH(14) /  14 /
  351. C      DATA IMACH(15) / -64 /
  352. C      DATA IMACH(16) /  62 /, SANITY/987/
  353. C
  354. C     MACHINE CONSTANTS FOR THE PDP-10 (KA PROCESSOR).
  355. C
  356. C      DATA IMACH( 1) /    5 /
  357. C      DATA IMACH( 2) /    6 /
  358. C      DATA IMACH( 3) /    7 /
  359. C      DATA IMACH( 4) /    6 /
  360. C      DATA IMACH( 5) /   36 /
  361. C      DATA IMACH( 6) /    5 /
  362. C      DATA IMACH( 7) /    2 /
  363. C      DATA IMACH( 8) /   35 /
  364. C      DATA IMACH( 9) / "377777777777 /
  365. C      DATA IMACH(10) /    2 /
  366. C      DATA IMACH(11) /   27 /
  367. C      DATA IMACH(12) / -128 /
  368. C      DATA IMACH(13) /  127 /
  369. C      DATA IMACH(14) /   54 /
  370. C      DATA IMACH(15) / -101 /
  371. C      DATA IMACH(16) /  127 /, SANITY/987/
  372. C
  373. C     MACHINE CONSTANTS FOR THE PDP-10 (KI PROCESSOR).
  374. C
  375. C      DATA IMACH( 1) /    5 /
  376. C      DATA IMACH( 2) /    6 /
  377. C      DATA IMACH( 3) /    7 /
  378. C      DATA IMACH( 4) /    6 /
  379. C      DATA IMACH( 5) /   36 /
  380. C      DATA IMACH( 6) /    5 /
  381. C      DATA IMACH( 7) /    2 /
  382. C      DATA IMACH( 8) /   35 /
  383. C      DATA IMACH( 9) / "377777777777 /
  384. C      DATA IMACH(10) /    2 /
  385. C      DATA IMACH(11) /   27 /
  386. C      DATA IMACH(12) / -128 /
  387. C      DATA IMACH(13) /  127 /
  388. C      DATA IMACH(14) /   62 /
  389. C      DATA IMACH(15) / -128 /
  390. C      DATA IMACH(16) /  127 /, SANITY/987/
  391. C
  392. C     MACHINE CONSTANTS FOR PDP-11 FORTRANS SUPPORTING
  393. C     32-BIT INTEGER ARITHMETIC.
  394. C
  395. C      DATA IMACH( 1) /    5 /
  396. C      DATA IMACH( 2) /    6 /
  397. C      DATA IMACH( 3) /    7 /
  398. C      DATA IMACH( 4) /    6 /
  399. C      DATA IMACH( 5) /   32 /
  400. C      DATA IMACH( 6) /    4 /
  401. C      DATA IMACH( 7) /    2 /
  402. C      DATA IMACH( 8) /   31 /
  403. C      DATA IMACH( 9) / 2147483647 /
  404. C      DATA IMACH(10) /    2 /
  405. C      DATA IMACH(11) /   24 /
  406. C      DATA IMACH(12) / -127 /
  407. C      DATA IMACH(13) /  127 /
  408. C      DATA IMACH(14) /   56 /
  409. C      DATA IMACH(15) / -127 /
  410. C      DATA IMACH(16) /  127 /, SANITY/987/
  411. C
  412. C     MACHINE CONSTANTS FOR PDP-11 FORTRANS SUPPORTING
  413. C     16-BIT INTEGER ARITHMETIC.
  414. C
  415. C      DATA IMACH( 1) /    5 /
  416. C      DATA IMACH( 2) /    6 /
  417. C      DATA IMACH( 3) /    7 /
  418. C      DATA IMACH( 4) /    6 /
  419. C      DATA IMACH( 5) /   16 /
  420. C      DATA IMACH( 6) /    2 /
  421. C      DATA IMACH( 7) /    2 /
  422. C      DATA IMACH( 8) /   15 /
  423. C      DATA IMACH( 9) / 32767 /
  424. C      DATA IMACH(10) /    2 /
  425. C      DATA IMACH(11) /   24 /
  426. C      DATA IMACH(12) / -127 /
  427. C      DATA IMACH(13) /  127 /
  428. C      DATA IMACH(14) /   56 /
  429. C      DATA IMACH(15) / -127 /
  430. C      DATA IMACH(16) /  127 /, SANITY/987/
  431. C
  432. C     MACHINE CONSTANTS FOR THE PRIME 50 SERIES SYSTEMS
  433. C     WTIH 32-BIT INTEGERS AND 64V MODE INSTRUCTIONS,
  434. C     SUPPLIED BY IGOR BRAY.
  435. C
  436. C      DATA IMACH( 1) /            1 /
  437. C      DATA IMACH( 2) /            1 /
  438. C      DATA IMACH( 3) /            2 /
  439. C      DATA IMACH( 4) /            1 /
  440. C      DATA IMACH( 5) /           32 /
  441. C      DATA IMACH( 6) /            4 /
  442. C      DATA IMACH( 7) /            2 /
  443. C      DATA IMACH( 8) /           31 /
  444. C      DATA IMACH( 9) / :17777777777 /
  445. C      DATA IMACH(10) /            2 /
  446. C      DATA IMACH(11) /           23 /
  447. C      DATA IMACH(12) /         -127 /
  448. C      DATA IMACH(13) /         +127 /
  449. C      DATA IMACH(14) /           47 /
  450. C      DATA IMACH(15) /       -32895 /
  451. C      DATA IMACH(16) /       +32637 /, SANITY/987/
  452. C
  453. C     MACHINE CONSTANTS FOR THE SEQUENT BALANCE 8000.
  454. C
  455. C      DATA IMACH( 1) /     0 /
  456. C      DATA IMACH( 2) /     0 /
  457. C      DATA IMACH( 3) /     7 /
  458. C      DATA IMACH( 4) /     0 /
  459. C      DATA IMACH( 5) /    32 /
  460. C      DATA IMACH( 6) /     1 /
  461. C      DATA IMACH( 7) /     2 /
  462. C      DATA IMACH( 8) /    31 /
  463. C      DATA IMACH( 9) /  2147483647 /
  464. C      DATA IMACH(10) /     2 /
  465. C      DATA IMACH(11) /    24 /
  466. C      DATA IMACH(12) /  -125 /
  467. C      DATA IMACH(13) /   128 /
  468. C      DATA IMACH(14) /    53 /
  469. C      DATA IMACH(15) / -1021 /
  470. C      DATA IMACH(16) /  1024 /, SANITY/987/
  471. C
  472. C     MACHINE CONSTANTS FOR THE UNIVAC 1100 SERIES.
  473. C
  474. C     NOTE THAT THE PUNCH UNIT, I1MACH(3), HAS BEEN SET TO 7
  475. C     WHICH IS APPROPRIATE FOR THE UNIVAC-FOR SYSTEM.
  476. C     IF YOU HAVE THE UNIVAC-FTN SYSTEM, SET IT TO 1.
  477. C
  478. C      DATA IMACH( 1) /    5 /
  479. C      DATA IMACH( 2) /    6 /
  480. C      DATA IMACH( 3) /    7 /
  481. C      DATA IMACH( 4) /    6 /
  482. C      DATA IMACH( 5) /   36 /
  483. C      DATA IMACH( 6) /    6 /
  484. C      DATA IMACH( 7) /    2 /
  485. C      DATA IMACH( 8) /   35 /
  486. C      DATA IMACH( 9) / O377777777777 /
  487. C      DATA IMACH(10) /    2 /
  488. C      DATA IMACH(11) /   27 /
  489. C      DATA IMACH(12) / -128 /
  490. C      DATA IMACH(13) /  127 /
  491. C      DATA IMACH(14) /   60 /
  492. C      DATA IMACH(15) /-1024 /
  493. C      DATA IMACH(16) / 1023 /, SANITY/987/
  494. C
  495. C     MACHINE CONSTANTS FOR VAX.
  496. C
  497.       DATA IMACH( 1) /    5 /
  498.       DATA IMACH( 2) /    6 /
  499.       DATA IMACH( 3) /    7 /
  500.       DATA IMACH( 4) /    6 /
  501.       DATA IMACH( 5) /   32 /
  502.       DATA IMACH( 6) /    4 /
  503.       DATA IMACH( 7) /    2 /
  504.       DATA IMACH( 8) /   31 /
  505.       DATA IMACH( 9) / 2147483647 /
  506.       DATA IMACH(10) /    2 /
  507.       DATA IMACH(11) /   24 /
  508.       DATA IMACH(12) / -127 /
  509.       DATA IMACH(13) /  127 /
  510.       DATA IMACH(14) /   56 /
  511.       DATA IMACH(15) / -127 /
  512.       DATA IMACH(16) /  127 /, SANITY/987/
  513. C
  514. C  ***  ISSUE STOP 777 IF ALL DATA STATEMENTS ARE COMMENTED...
  515.       IF (SANITY .NE. 987) STOP 777
  516.       IF (I .LT. 1  .OR.  I .GT. 16) GO TO 10
  517. C
  518.       I1MACH = IMACH(I)
  519. C/6S
  520. C/7S
  521.       IF(I.EQ.6) I1MACH=1
  522. C/
  523.       RETURN
  524.    10 WRITE(OUTPUT,1999) I
  525.  1999 FORMAT(' I1MACH - I OUT OF BOUNDS',I10)
  526.       CALL XSTOPX (' ')
  527.       I1MACH = 0
  528.       END
  529.